/*
 * Blocking_buffer.h
 *
 *  Created on: 30.07.2011
 *      Author: mario
 */

#ifndef BLOCKING_BUFFER_H_
#define BLOCKING_BUFFER_H_

#include "ariba/utility/system/BlockingMethod.h"
#include "Transport.h"
#include "User.h"
#include "interfaces/Useroutputinterface.h"
#include "messages/TransportMessage.h"
#include "messages/ChatMessage.h"

using namespace ariba::utility;
//using ariba::utility::BlockingMethod;

class Blocking_buffer : public BlockingMethod
{
public:
    Blocking_buffer();
    virtual ~Blocking_buffer();

//    void test_loop(Transport* trans, UserPtr user, Useroutputinterface* ui);
    void test_loop(Useroutputinterface* ui);

protected:
    virtual void blockingFunction();
    virtual void dispatchFunction();


private:
//    Transport* trans;
//    UserPtr user;
    Useroutputinterface* ui;
    bool running;
    int counter;
};

#endif /* BLOCKING_BUFFER_H_ */
